Econometría I: Inferencia

Departamento de Economía

Carlos A. Yanes G.

2024-03-13

Paquetes con que se trabaja la sesión

R libraries

Los paquetes que vamos a utilizar y que se deben instalar para uso en clase son:

install.packages(c("tidyverse", "kableExtra", "flextable", "extrafont", "broom"))

Ejecución

No olvide que debe desde luego tener presente en su documento de R Markdown cargar estos paquetes.

library(pacman)
p_load(tidyverse, kableExtra, flextable, extrafont, broom)

Pruebas de hipotesis

La validez de las estimaciones se dan a partir de las herramientas estadísticas que nos permiten determinar si algo es verdadero sobre todo para una muestra. Las pruebas de hipótesis surgen para eso.

Tome por ejemplo que quisiéramos ver que la media (promedio) de la nota de los estudiantes de economía es de 3.5. Plantear esto en términos de hipótesis requerirá los siguientes elementos: Primero una parte nula - considérelo como el punto de partida- y que de ahora en adelante notaremos como \(H_0\) y una parte alternativa que surge de lo que crea que va a suceder y que de cierta forma o manera le conviene a un investigador encontrar y la conoceremos de ahora en adelante como \(H_a\).

\[\begin{aligned} H_0\; =\; &\text{Estudiantes con promedio de 3.5} \\ H_a\; = \; &\text{Estudiantes con promedio diferente de 3.5} \end{aligned}\]

\[\begin{aligned} H_0\; &: \; \bar{x} = 3.5 \\ H_a\; &: \; \bar{x} \neq 3.5 \end{aligned}\]

Valores críticos de prueba

Nivel a 90%

Code
# Buscar en las tabla de la normal en niveles de significancia
qnorm(0.90)
[1] 1.281552

Nivel a 95%

[1] 1.644854

Nivel a 99%

[1] 2.326348

Intervalos de confianza

Entendiendo mejor los valores críticos, podemos entonces construir intervalos de confianza que permitirán inferir donde se ubica o esta el promedio de una variable.

\[\left[ \bar{y} - \text{Valor crítico} \frac{\alpha}{2} \times s.e(\bar{y}) \leq \bar{y} \leq \bar{y} + \text{Valor crítico} \frac{\alpha}{2} \times s.e(\bar{y}) \right]\]

\[\left[ \bar{y} - 1.65 \times s.e(\bar{y}) \leq \bar{y} \leq \bar{y} + 1.65 \times s.e(\bar{y}) \right]\]

Code
# Datos de ejemplo
tratados<-c(10,1,6,.45,1.25,1.3,1.06,3,8.18,1.67,.98,1,.45,5.03,8,9,18,.28,
        7,3.97)
controles<-c(3,1,5,.5,1.54,1.5,.8,2,.67,1.17,.51,.5,.61,6.7,4,7,19,.2,5,3.83)
# Creamos nuestro estadístico de prueba
Cambio <- tratados - controles
# Ingredientes para el intervalo y su formula: usamos parentesis para resultados
avgCh<- mean(Cambio)
n    <- length(Cambio)
sdCh <- sd(Cambio)
se   <- sdCh/sqrt(n)
c    <- qt(.975, n-1)
# Intervalo de confianza al 97.5%:
c(avgCh - c*se, avgCh + c*se)
[1] 0.03096631 2.27803369

Siendo el intervalo:

\[\left[0.030\leq \tau\leq 2.28\right]\]

Code
# Ejemplo de dos colas: Intervalo de confianza
t.test(Cambio)

    One Sample t-test

data:  Cambio
t = 2.1507, df = 19, p-value = 0.04458
alternative hypothesis: true mean is not equal to 0
95 percent confidence interval:
 0.03096631 2.27803369
sample estimates:
mean of x 
   1.1545 

Regresión

Code
datos <- c(10,1,6,.45,1.25,1.3,1.06,3,8.18,1.67,.98,1,.45,5.03,8,9,18,.28, 7,3.97, 3,1,5,.5,1.54,1.5,.8,2,.67,1.17,.51,.5,.61,6.7,4,7,19,.2,5,3.83)

# Generar la variable dummy
binaria <- c(rep(1, 20), rep(0, length(datos) - 20))

# Tener el dataframe
base1 <- data.frame(datos = datos, tratamiento = binaria)
md1<-lm(datos~tratamiento, base1) %>%
  tidy() %>%
  kable(
    caption = "Modelo de regresión simple",
    col.names = c("Variables", "Estimador", "SE", "t", "p"),
    digits = c(0, 2, 3, 2, 3)
  )
md1
Modelo de regresión simple
Variables Estimador SE t p
(Intercept) 3.23 0.992 3.25 0.002
tratamiento 1.15 1.402 0.82 0.416

Modelo de salarios

Datos

Base de datos

  • Salarios y variables sociales
  • Ejemplo de econometría de modelos de regresión simple
  • Datos de corte transversal

Ejemplo

Code
library(readxl) #Para cargar datos de excel (xls)
datos <-read_excel("Salarios.xlsx")
attach(datos) # Frame de la base de forma resumida
# Saber el nombre de las columnas (variables) en los datos
names(datos)
 [1] "wage"    "hours"   "IQ"      "KWW"     "educ"    "exper"   "tenure" 
 [8] "age"     "married" "black"   "south"   "urban"   "sibs"    "brthord"
[15] "meduc"   "feduc"   "Jh"     

\[\begin{aligned} \widehat{\beta}_{0}=& \bar{y}-\widehat{\beta}_{1}\bar{x} \\ \widehat{\beta}_{1}=& \frac{Cov(x, y)}{Var (x)} \end{aligned}\]

Forma manual

Code
cov(exper, wage) 
[1] 3.873389
Code
var(exper)
[1] 19.13701
Code
mean(wage)
[1] 957.9455
Code
mean(exper)
[1] 11.56364
Code
# Beta pendiente
( b1hat <- cov(exper, wage )/var(exper) )
[1] 0.2024031
Code
# Beta intercepto
( b0hat <- mean(wage) - b1hat*mean(exper) )
[1] 955.6049
Code
md2<-lm(wage ~ exper) %>%
  tidy() %>%
  kable(
    caption = "Modelo de regresión simple de salarios",
    col.names = c("Variables", "Estimador", "SE", "t", "p"),
    digits = c(0, 2, 3, 2, 3)
  )
md2
Modelo de regresión simple de salarios
Variables Estimador SE t p
(Intercept) 955.6 37.411 25.54 0.000
exper 0.2 3.026 0.07 0.947

Gracias por su atención!!